import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import {FormsModule} from  '@angular/forms'
import { GroupLevelMapComponent } from './components/charts/group-level-map/group-level-map.component';
import { GroupLevelStatusComponent } from './components/charts/group-level-status/group-level-status.component';
import { GroupLevelSummaryComponent } from './components/charts/group-level-summary/group-level-summary.component';
import {RegionalContrastGroupComponent} from "./components/charts/regional-contrast-group/regional-contrast-group.component";
import {ChartModule} from "angular2-highcharts";
import {OverviewEfficienceComponent} from "./components/charts/overview-efficience/overview-efficience.component";
import {RegionalContrastItemComponent} from "./components/charts/regional-contrast-item/regional-contrast-item.component";
import { TableCharacterComponent } from './components/tables/table-character/table-character.component';
import { ChartPowerCompositionComponent } from './components/charts/chart-power-composition/chart-power-composition.component';
import {ChartRunninghourStatusComponent} from "./components/charts/chart-runninghour-status/chart-runninghour-status.component";
import { TablePerformanceDeviceParamsComponent } from './components/tables/table-performance-device-params/table-performance-device-params.component';
import { TableRunninghourStatusComponent } from './components/tables/table-runninghour-status/table-runninghour-status.component';
import { TableDeviceParametersLeftComponent } from './components/charts/table-device-parameters-left/table-device-parameters-left.component';
import {RouterModule} from "@angular/router";
import {AuthService} from "./services/auth.service";
import {AuthGuardService} from "./services/auth-guard.service";
import {AuthModule} from "../auth/auth.module";
import {UserService} from "./services/user.service";
import {GetDataService} from './services/get-data.service';
import { ToStatusStringPipe } from './pipes/to-status-string.pipe';
import { NanToStringPipe } from './pipes/nan-to-string.pipe';
import { OrgSelectComponent } from './components/control/org-select/org-select.component';
import { TimeControlSearchComponent } from './components/control/time-control-search/time-control-search.component';
import { Ng2HighchartsModule } from 'ng2-highcharts';
import { RegionalSpliteItemsComponent } from './components/charts/regional-splite-items/regional-splite-items.component';
import { RegionalContainPowerItemComponent } from './components/charts/regional-contain-power-item/regional-contain-power-item.component';
import {RegionalUnitGroupComponent} from "./components/charts/regional-unit-group/regional-unit-group.component";
import { TooltipModule,PaginationModule} from 'ngx-bootstrap';
import { OrderByPipe } from './pipes/order-by.pipe';
import { FormatPipe } from './pipes/format.pipe';
import { ChartLineDataPointComponent } from './components/charts/chart-line-data-point/chart-line-data-point.component';
import { ModalDeviceBladeComponent } from './components/modals/modal-device-blade/modal-device-blade.component';
import { ChartStationUnitComponent } from './components/charts/chart-station-unit/chart-station-unit.component';
import { ChartStationUnit2Component } from './components/charts/chart-station-unit2/chart-station-unit2.component';
import { ChartWaterCompositionComponent } from './components/charts/chart-water-composition/chart-water-composition.component';
import { ChartWaterComposition2Component } from './components/charts/chart-water-composition2/chart-water-composition2.component';
import { TableGenerationComponent } from './components/tables/table-generation/table-generation.component'
import { ChartLoadGroupComponent } from './components/charts/chart-load-group/chart-load-group.component';
import { ChartLoadRateComponent } from './components/charts/chart-load-rate/chart-load-rate.component';
import { ChartLoadCurveComponent } from './components/charts/chart-load-curve/chart-load-curve.component';
import { LiuyuMapComponent } from './components/charts/liuyu-map/liuyu-map.component';
import { ChartCabinPerformanceComponent } from './components/charts/chart-cabin-performance/chart-cabin-performance.component';
import { RegionalContainPowerItem2Component } from './components/charts/regional-contain-power-item2/regional-contain-power-item2.component';
import { ChartLoadCurve2Component } from './components/charts/chart-load-curve2/chart-load-curve2.component';
import { BaiduMapComponent } from './components/baidu-map/baidu-map.component';
import { ChartPieWithLegendComponent } from './components/charts/chart-pie-with-legend/chart-pie-with-legend.component';
import { ChartZhengdongComponent } from './components/charts/chart-zhengdong/chart-zhengdong.component';
import { ChartLineDiagramComponent } from './components/charts/chart-line-diagram/chart-line-diagram.component';
import { ChartScatterDiagramComponent } from './components/charts/chart-scatter-diagram/chart-scatter-diagram.component';
import { ChartZhengdong2Component } from './components/charts/chart-zhengdong2/chart-zhengdong2.component';
import { ChartTrendPredictionComponent } from './components/charts/chart-trend-prediction/chart-trend-prediction.component';
import { ChartHuanxingComponent } from './components/charts/chart-huanxing/chart-huanxing.component';
import { ChartLiquidfillComponent } from './components/charts/chart-liquidfill/chart-liquidfill.component';
import { TableContrastComponent } from './components/tables/table-contrast/table-contrast.component';
import { ChartPercentComponent } from './components/charts/chart-percent/chart-percent.component';
import { ChartLoadCurveFadianjiComponent } from './components/charts/chart-load-curve-fadianji/chart-load-curve-fadianji.component';
import { UnitSelectComponent } from './components/control/unit-select/unit-select.component';
import { ChartCobwebComponent } from './components/charts/chart-cobweb/chart-cobweb.component';
import { ChartCobwebRateComponent } from './components/charts/chart-cobweb-rate/chart-cobweb-rate.component';
import { ChartComplexComponent } from './components/charts/chart-complex/chart-complex.component';
import { ChartThreeDiagramComponent } from './components/charts/chart-three-diagram/chart-three-diagram.component';
import { ChartSpiderComponent } from './components/charts/chart-spider/chart-spider.component';
import { ChartHeatmapComponent } from './components/charts/chart-heatmap/chart-heatmap.component';
export declare let require: any;
const COMPONENTS = [
  OverviewEfficienceComponent,
  TableCharacterComponent,
  ChartPowerCompositionComponent,
  ChartRunninghourStatusComponent,
  TableRunninghourStatusComponent,
  TableDeviceParametersLeftComponent,
  ToStatusStringPipe,
  NanToStringPipe,
  OrgSelectComponent,
  TimeControlSearchComponent,
  OrderByPipe,
  FormatPipe,
  ModalDeviceBladeComponent,
  ChartStationUnitComponent,
  ChartStationUnit2Component,
  ChartWaterCompositionComponent,
  ChartWaterComposition2Component,
  TableGenerationComponent,
  ChartLoadGroupComponent,
  ChartLoadRateComponent,
  ChartLoadCurveComponent,
  LiuyuMapComponent,
  ChartCabinPerformanceComponent,
  RegionalContainPowerItem2Component,
  ChartLoadCurve2Component,
  BaiduMapComponent,
  ChartPieWithLegendComponent,
  ChartZhengdongComponent,
  ChartLineDiagramComponent,
  ChartScatterDiagramComponent,
  ChartZhengdongComponent,
  ChartZhengdong2Component,
  ChartTrendPredictionComponent,
  ChartHuanxingComponent,
  ChartLiquidfillComponent,
  TablePerformanceDeviceParamsComponent,
  TableContrastComponent,
  ChartPercentComponent,
  ChartLoadCurveFadianjiComponent,
  ChartComplexComponent,
  ChartThreeDiagramComponent,
  ChartLoadCurveFadianjiComponent,
  UnitSelectComponent,
  ChartCobwebComponent,
  ChartCobwebRateComponent,
  ChartSpiderComponent,
  ChartHeatmapComponent
];
const COMPONENTS_OLD = [
  GroupLevelMapComponent,
  GroupLevelStatusComponent,
  RegionalContrastGroupComponent,
  RegionalContrastItemComponent,
  GroupLevelSummaryComponent,
  RegionalSpliteItemsComponent,
  RegionalContainPowerItemComponent,
  ChartLineDataPointComponent,
  RegionalUnitGroupComponent,
];
const SERVICES = [
  AuthService,
  AuthGuardService,
  UserService,
  GetDataService
]

@NgModule({
  imports: [
    CommonModule,
    ChartModule,
    RouterModule,
    AuthModule,
    Ng2HighchartsModule,
    FormsModule,
    TooltipModule.forRoot(),
    PaginationModule.forRoot()
  ],
  declarations: [...COMPONENTS,...COMPONENTS_OLD],
  exports: [...COMPONENTS,...COMPONENTS_OLD],
  providers:[
    ...SERVICES,
  ],
})
export class ShareModule { }
